/**      
* ServiceErrorCodeEnum.java Create on 2017年2月8日     
*      
* Copyright (c) 2017 by Zhong An
* Company: 众安在线财产保险股份有限公司

*/ 

package com.alan.server.enums;


/** 
 * @ClassName: ServiceErrorCodeEnum 
 * @Description: 业务错误码枚举
 * @author wangwei
 * @date 2017年2月8日 下午2:27:53 
 * @Version 1.0
 * 
 */
public enum ServiceErrorCodeEnum {

    FAIL("A100", "失败"),
    REPEAT_REQUEST_ERROR("A10001", "重复请求"),
    INPUT_MUST_NOT_NULL("A10002", "参数不可为空"),
    REQUEST_VERIFY_FAIL("A10003", "请求验签失败"),
    DATA_EXPIRED("A10004", "更新数据已过期"),
    DATA_DUPLICATE("A10005", "数据重复插入"),
    MAXIMUM_LIMIT("A10007", "超过最大查询记录限制"),
    ENUM_NOT_EXIST("A10008", "无匹配的数据字典定义"),
    ITEM_NOT_EXIST("A10009", "未查询到匹配的记录"),
    UPDATE_FAILED("A11000", "更新失败"),
    UPDATE_ROUTE_FAIL("A11100", "更新路由表失败"),
    INPUT_PARAMETER_ERROR("A11200", "参数错误"),
    DELETE_DATA_FAILED("A11003", "删除数据失败"),
    DATA_NOT_UNIQUE("A11004", "数据不唯一"),
    DATE_ILLEGER("A11005", "日期格式错误！"),
    FILE_NO_FOUND("A11006", "文件没找到"),

    PAY_DUPLICATE("A20001", "重复支付"),
    ORDRE_NOT_EXIST("A20002", "订单不存在"),
    ORDRE_AMT_ERROR("A20003", "订单金额不一致"),
    ORDRE_EXPIRE("A20004", "订单已经过期"),
    EXPIRE_TIME_ERROR("A20005", "过期时间格式错误"),
    
    REFUND_DUPLICATE("A30002", "重复退款"),
	TRANSFER_DUPLICATE("30010", "重复转账"),

    MERCHANT_LOGIN_ERROR("A40001", "用户名或密码错误"),
    ORIGIN_PWD_ERROR("A40002", "原登录密码错误"),
    MERCHANT_CHNL_NOT_EXIST("A40003", "支付渠道未配置"),
    EMAIL_IS_EXIST("A40004", "注册邮箱已存在"),
    PHONE_IS_EXIST("A40005", "注册手机号已存在"),
    MERCHANT_NOT_EXIST("A40006", "商户信息不存在"),
    MERCHANT_APP_IS_EXIST("A40007", "商户应用信息已存在"),
    MERCHANT_APP_NOT_EXIST("A40008", "商户应用信息不存在"),
    CASHIER_CONFIG_IS_EXIST("A40009", "配置已存在"),
    CASHIER_CONFIG_NOT_EXIST("A41000", "配置不存在"),
    MERCHANT_CHNL_IS_EXIST("A41001", "已经配置该支付渠道"),
    LOGIN_NAME_NOT_EXIST("A41002", "用户名不存在"),
    UN_KNOWN("A9999", "未知错误");

	
	private String code;
	private String msg;

	public String getCode() {
		return code;
	}

	public String getMsg() {
		return msg;
	}

	public static ServiceErrorCodeEnum getFlag(String msg) {
		for (ServiceErrorCodeEnum an : ServiceErrorCodeEnum.values()) {
			if (null != msg && msg.equals(an.getCode())) {
				return an;
			}
		}
		return null;
	}

	ServiceErrorCodeEnum(String code, String msg) {
		this.code = code;
		this.msg = msg;
	}
    
}
